ابزار جدید Tor Oniux امکان ناشناسسازی ترافیک شبکه هر برنامهای در لینوکس را فراهم میکند.
پروژه Tor بهتازگی از Oniux رونمایی کرده است؛ یک ابزار خط فرمان (Command-line Utility) جدید که امکان هدایت امن و ناشناس ترافیک شبکه هر برنامهای در سیستمعامل لینوکس از طریق شبکه Tor را فراهم میسازد.
بر خلاف روشهای سنتی مانند torsocks که برای مسیریابی ترافیک به شبکه Tor از ترفندهای فضای کاربر (user-space) استفاده میکنند، ابزار Oniux از قابلیت Linux namespaces بهره میگیرد تا یک محیط شبکهای کاملاً ایزوله برای هر برنامه ایجاد کند. این موضوع از نشت دادهها حتی در صورت بدرفتاری یا پیکربندی نادرست برنامهها جلوگیری میکند.
Linux namespaces یکی از قابلیتهای هسته لینوکس است که امکان اجرای فرآیندها در محیطهای ایزوله با دید جداگانه نسبت به منابع سیستمی مانند شبکه، فرآیندها، یا سیستم فایل را فراهم میسازد. ابزار Oniux با استفاده از این ویژگیها، برنامهها را در سطح هسته ایزوله میکند تا تمام ترافیک آنها به اجبار از طریق شبکه Tor عبور کند.
در وبلاگ رسمی پروژه Tor آمده است:
«ما با افتخار Oniux را معرفی میکنیم؛ ابزاری کوچک و خط فرمانی که با استفاده از Linux namespaces، ایزولاسیون شبکه Tor را برای برنامههای شخص ثالث فراهم میسازد.»
Oniux بر پایه ابزارهای Arti و onionmasq توسعه داده شده و هر برنامه لینوکسی را درون یک namespace اختصاصی اجرا میکند. این محیط ایزوله، تنها به یک رابط مجازی به نام onion0 دسترسی دارد که ترافیک را از طریق Tor هدایت میکند و از دسترسی به رابطهای واقعی سیستم میزبان جلوگیری مینماید. همچنین با استفاده از namespaceهای mount و user/PID، فایل resolv.conf/ بهصورت سفارشی و ایمن برای DNS مبتنی بر Tor تنظیم شده و کل محیط با حداقل سطح دسترسی راهاندازی میشود.
این معماری باعث میشود ایزولاسیون کامل و مبتنی بر هسته (kernel-enforced) برای هر برنامه لینوکسی فراهم شود؛ بدون نشت اطلاعات.
در مقابل، ابزار سنتی torsocks با بهرهگیری از تکنیک LD_PRELOAD سعی میکند توابع مرتبط با شبکه در کتابخانههای پویا را رهگیری کرده و ترافیک را به SOCKS proxy شبکه Tor هدایت کند. اما این روش قادر به رهگیری مستقیم syscallها نیست و برنامههای مخرب میتوانند این مکانیزم را دور بزنند. همچنین torsocks با باینریهای استاتیک کار نمیکند و دسترسی مستقیم برنامهها به رابطهای شبکه میزبان را محدود نمیسازد.
پروژه Tor همچنین یک جدول مقایسهای منتشر کرده که تفاوتهای کیفی میان دو ابزار Oniux و torsocks را بهصورت دقیق مشخص میکند.
با وجود مزایای چشمگیر ابزار Oniux، پروژه Tor تأکید میکند که این ابزار همچنان در مرحلهای آزمایشی قرار دارد و تاکنون تحت شرایط و سناریوهای متنوع بهطور گسترده آزموده نشده است.
بر همین اساس، استفاده از Oniux در عملیات حساس و حیاتی توصیه نمیشود، چرا که ممکن است عملکرد مورد انتظار را ارائه نکند.
در عوض، پروژه Tor از علاقهمندان و متخصصان امنیت درخواست میکند تا با آزمایش این ابزار و گزارش خطاهای احتمالی، در بلوغ سریعتر و آمادهسازی آن برای استقرار گستردهتر مشارکت داشته باشند.
کد منبع ابزار Oniux به صورت عمومی منتشر شده است. علاقهمندان برای تست این ابزار، ابتدا باید زبان برنامهنویسی Rust را بر روی توزیع لینوکسی خود نصب کرده و سپس از دستور زیر برای نصب Oniux استفاده کنند:
cargo install --git https://gitlab.torproject.org/tpo/core/oniux oniux@0.4.0
پروژه Tor چند نمونه کاربردی نیز ارائه کرده است، از جمله:
- دسترسی به سایتهای .onion:
oniux curl http://example.onion
اجرای یک نشست شِل با ترافیک ناشناسشده:
oniux bash
اجرای یک برنامه گرافیکی تحت شبکه Tor در محیط دسکتاپ:
oniux hexchat